package com.aegean.MonitorExamSYS.examinee.business;

import java.io.InputStream;
import java.sql.Blob;
import java.util.Date;
import java.util.List;

import com.aegean.MonitorExamSYS.examinee.component.ExamineeExam;
import com.aegean.MonitorExaxSYS.model.BigType;
import com.aegean.MonitorExaxSYS.model.ConductionValue;
import com.aegean.MonitorExaxSYS.model.ExamInfo;
import com.aegean.MonitorExaxSYS.model.ExamineeQualification;
import com.aegean.MonitorExaxSYS.model.ExamineeValue;
import com.aegean.MonitorExaxSYS.model.MonitorValue;
import com.aegean.MonitorExaxSYS.model.SmallType;
import com.aegean.MonitorExaxSYS.model.component.Photo;

public interface ExamineeBusiness {
	public ExamineeValue insertUser(ExamineeValue one);

	public ExamineeValue insertUserLocation(ExamineeValue one, float Lat,
			float Lng, String address, String country, String city,
			String region);

	public ExamineeValue updateUserLocation(ExamineeValue one, float Lat,
			float Lng, String address, String country, String city,
			String region);

	public ExamineeValue loginUser(String user_Login, String user_Pwd);
    
	public boolean validateUser(String user_Login);
	public ExamineeValue updateUser(int Customer_Id, ExamineeValue one,
			Photo photo);

	public Blob showPhoto(int Customer_Id);

	public ExamineeValue updateUserPwd(int Customer_Id, String newPwd);

	public int searchExamValueCount(int small_Id);

	public List<ExamInfo> searchPartExamValues(int small_Id, int start,
			int limit);

	public List<ConductionValue> showConducation(int exam_Id, double x, double y);

	public boolean applyQualification(int conduction_Id, int examinee_Id,
			int examInfo_Id);

	public boolean validationExam(int exam_Id, Date startTime, Date endTime,
			int user_Id);
	
	public int showExamineeQualifications(int user_Id,String state);
	
	public List<ExamineeExam> showExamineeQualificationsList(int user_Id,int start,int limit,String state);
	
	public int countOfcurrentAppliedPersonCount(int exam_Id,int conduction_Id);
	public int countOfcurrentExamAvailablePersonCount(int conduction_Id,String start_Time,String end_Time);
     
}
